This invention relates to acoustic echo cancellation and, in particular, to using an accelerometer to remove non-linearities caused by acoustic transducers.
The sound from a loudspeaker can be reflected or coupled back to a microphone after some finite delay, producing an echo. In its simplest form, the echo (sound) corresponds to the electrical signal in the apparatus producing the sound and the system is considered linear. Unfortunately, this is an ideal situation. Transducers, such as microphones and loudspeakers, are nonlinear, even when operated in their optimum range. This invention is described in the context of the acoustic echo in telephones but is more broadly useful.
Nonlinear effects significantly reduce the performance of acoustic echo cancelers, particularly in compact, hands-free kits for cellphones. Many of the problems associated with hands-free kits have been attributed to inexpensive, low-quality loudspeakers that are poorly isolated from the enclosure of a kit. When such a loudspeaker is overdriven, saturation effects associated with the loudspeaker and its amplifier distort sound in a nonlinear manner. An acoustic echo of such sound contains a mixture of linear and nonlinear components. A typical acoustic echo canceler estimates only the linear acoustic impulse response of the loudspeaker-enclosure-microphone system. The remaining nonlinear components can be large and audible, particularly at high volume.
An overdriven amplifier causes nonlinear distortion by creating harmonics and inter-modulation distortion from the clipping of large amplitude signals; see U.S. Pat. No. 4,809,336 (Pritchard). Enclosure vibration due to mechanical coupling between a loudspeaker and an enclosure, especially at lower voice frequencies, causes significant nonlinear distortion that is picked up by the microphone. The loudspeaker itself is a major source of nonlinear distortion. The nonlinearities can be acoustic, electromagnetic, or mechanical, such as distortion of the cone or diaphragm or the voice coil hitting an end of travel.
One can place a microphone next to a loudspeaker. This method is not very useful because new sounds and background noise are also picked up by the microphone. An optical sensor, such as a laser and photodetector, can be used to measure the displacement of the cone of a loudspeaker. This method requires sophisticated hardware when a much less expensive solution is desired.
Several other approaches have been used to cancel the nonlinear echo. One approach is nonlinear preprocessing of the signal to the loudspeaker. This method attempts to compensate for known nonlinear characteristics. Predistortion can degrade the quality of speech or loudness from a loudspeaker. Another approach is to use a nonlinear adaptive filter. Most or all known techniques have high computational cost and converge slowly, which makes them unsuitable for most real-time applications. Existing techniques for controlling non-linear echo use mathematical models of the nonlinearity. Echo canceler performance depends on the accuracy of the model. An accurate model can be very difficult to obtain because the non-linearities may change with time and may not be the same for two specimens of the same product.
Bulk delay is the time it takes an echo of the digital signal to a loudspeaker to be detected at a microphone. Synchronizing the microphone analog-to-digital conversion and the loudspeaker digital-to-analog conversion is challenging in real-time environments, especially if a non-real-time operating system is used.
It is known in the art to minimize the mechanical vibration picked up by a microphone using an accelerometer; U.S. Published Application Nos. 2006/0155346 (Miller), 2007/0167671 (Miller); and 2008/0132750 (Miller). U.S. Pat. No. 5,117,401 (Feintuch) discloses coupling a microphone or an accelerometer to a noise source for noise cancellation. U.S. Pat. No. 6,470,275 (Dubinsky) discloses using an accelerometer for noise cancellation in a device for drilling bore holes. U.S. Published Application No. 2005/0201549 (Dedieu et al.) discloses detecting the tilt angle and high frequency vibration of a loudspeaker using an accelerometer.
In view of the foregoing, it is therefore an object of the invention to generate a reference signal for echo cancellation from an accelerometer.
Another object of the invention is to provide an echo canceler that uses one adaptive filter for both the linear part of an echo and the nonlinear part of the echo.
A further object of the invention is to provide an echo canceler that measures, rather than estimates, the linear and nonlinear components of the response of a loudspeaker.
Another object of the invention is to provide an echo canceler that has a reference signal that is substantially insensitive to near-side speech and noise.
A further object of the invention is to provide an echo canceler that tracks time-varying changes in the response of a loudspeaker.
Another object of the invention is to provide an echo canceler that tolerates distortion by a loudspeaker, the amplifier driving the loudspeaker, or the enclosure for the loudspeaker.
A further object of the invention is to provide an echo canceler that measures all nonlinearities in the signal to a loudspeaker, including amplifier distortion, loudspeaker distortion, and case rattle.
Another object of the invention is to provide an echo canceler that uses the signal from an accelerometer rather than the signal to a loudspeaker as the reference signal for echo cancellation.
A further object of the invention is to provide an echo canceler that uses linear adaptive filtering to solve a nonlinear control problem, thereby reducing the number of processing cycles compared to using a nonlinear adaptive filter.
Another object of the invention is to provide an echo canceler that significantly reduces problems with bulk delay by generating a reference signal using an accelerometer coupled to a loudspeaker.